package gui_old;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

import vista.negocioView.UsuarioView;

import negocio.ETipoContrato;
import negocio.Usuario;

import controlador.ControladorABMLineas;
import controlador.ControladorABMUsuario;
import controlador.Sistema;

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class DetalleCliente extends JFrame{
	
	protected JLabel LNombre;
	protected JTextField jTextDni;
	protected JButton btnModificar;
	protected JTextField jTextTel;
	protected JTextField jTextDom;
	protected JTextField JTextApellido;
	protected JTextField jTextNombre;
	protected JLabel LTelefono;
	protected JLabel LDomicilio;
	protected JLabel LDni;
	protected JLabel labelTitulo;
	protected JLabel LApellido;
	protected JButton btnSalir;
	protected JButton btnEliminar;
	protected UsuarioView usuario;
	protected JButton jButton2;
	protected JButton btnNuevaLinea;

	public DetalleCliente() {
		super();
		initGUI();
		deshabilitarCampos();
	}
	
	public DetalleCliente(int i){
		super();
		this.usuario = ControladorABMUsuario.getUsuarioView(i);
		initGUI();
		setData();
		deshabilitarCampos();
	}
	
	// los detalles vana  ser pasados todos a un padre con comportamiento comun
	

	protected void initGUI() {
	try {
			{
				getContentPane().setLayout(null);
				this.setSize(522, 406);
			}
			{
				LApellido = new JLabel();
				getContentPane().add(LApellido);
				LApellido.setText("Apellido:");
				LApellido.setBounds(11, 79, 116, 16);
			}
			{
				LNombre = new JLabel();
				getContentPane().add(LNombre);
				LNombre.setText("Nombre:");
				LNombre.setBounds(12, 50, 96, 21);
			}
			{
				labelTitulo = new JLabel();
				getContentPane().add(labelTitulo);
				labelTitulo.setText("Detalle de Usuario");
				labelTitulo.setBounds(75, 12, 202, 19);
				labelTitulo.setFont(new java.awt.Font("Segoe UI",1,16));
			}
			{
				LDni = new JLabel();
				getContentPane().add(LDni);
				LDni.setText("D.N.I. :");
				LDni.setBounds(12, 108, 86, 16);
			}
			{
				LDomicilio = new JLabel();
				getContentPane().add(LDomicilio);
				LDomicilio.setText("Domicilio:");
				LDomicilio.setBounds(12, 139, 94, 16);
			}
			{
				LTelefono = new JLabel();
				getContentPane().add(LTelefono);
				LTelefono.setText("Tel?fono:");
				LTelefono.setBounds(12, 167, 98, 16);
			}
			{
				jTextNombre = new JTextField();
				getContentPane().add(jTextNombre);
				jTextNombre.setBounds(98, 50, 250, 23);
			}
			{
				JTextApellido = new JTextField();
				getContentPane().add(JTextApellido);
				JTextApellido.setBounds(98, 77, 247, 23);
			}
			{
				jTextDni = new JTextField();
				getContentPane().add(jTextDni);
				jTextDni.setBounds(98, 106, 247, 23);
			}
			{
				jTextDom = new JTextField();
				getContentPane().add(jTextDom);
				jTextDom.setBounds(98, 137, 247, 23);
			}
			{
				jTextTel = new JTextField();
				getContentPane().add(jTextTel);
				jTextTel.setBounds(97, 165, 249, 23);
			}
			{
				btnModificar = new JButton();
				getContentPane().add(btnModificar);
				btnModificar.setText("Modificar");
				btnModificar.setBounds(386, 57, 98, 34);
				btnModificar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						int dni = Integer.parseInt(jTextDni.getText());
						if(Sistema.getInstance().buscarUsuario(dni) != null){
							ModificacionCliente frm = new ModificacionCliente(dni);
							frm.setLocationRelativeTo(null);
							frm.setVisible(true);
							_exit();
						}
						else{
							JOptionPane.showMessageDialog(null, "El usuario ya existe en el sistema", "Error", JOptionPane.INFORMATION_MESSAGE);
						}
					}
				});
			}
			{
				btnEliminar = new JButton();
				getContentPane().add(btnEliminar);
				btnEliminar.setText("Eliminar");
				btnEliminar.setBounds(386, 99, 97, 35);
				btnEliminar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
							ControladorABMUsuario.eliminarUsuario(usuario.getDni());
							_volver();
					}
				});
			}
			{
				btnSalir = new JButton();
				getContentPane().add(btnSalir);
				btnSalir.setText("Salir");
				btnSalir.setBounds(386, 145, 97, 35);
				btnSalir.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent e) {
						_volver();
					}
				});
			}
			{
				btnNuevaLinea = new JButton();
				getContentPane().add(btnNuevaLinea);
				btnNuevaLinea.setText("Nueva Linea");
				btnNuevaLinea.setBounds(386, 191, 97, 32);
				btnNuevaLinea.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						int tipo = ControladorABMLineas.tipoDeAltaProximo(usuario.getDni());
						DetalleLinea frm;
						if(tipo == 1){
							frm = new AltaLinea(ETipoContrato.PRINCIPAL, usuario);
							frm.setLocationRelativeTo(null);
							frm.setVisible(true);
							
						}else if( tipo == 2){
							frm = new AltaLinea(ETipoContrato.ADICIONAL, usuario);
							frm.setLocationRelativeTo(null);
							frm.setVisible(true);
						}else{
							JOptionPane.showMessageDialog(null, "El usuario no puede tener mas Lineas asociadas", "Error", JOptionPane.INFORMATION_MESSAGE);
						}
						
						
					}
				});
			}
			{
				jButton2 = new JButton();
				getContentPane().add(jButton2);
				jButton2.setText("Ver Facturas");
				jButton2.setBounds(386, 269, 97, 35);
				jButton2.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						AdministrarFacturas frm = new AdministrarFacturas(usuario);
						frm.setLocationRelativeTo(null);
						frm.setVisible(true);
					}
				});
			}
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	protected void setData(){
		if(this.usuario!=null){
			jTextDni.setText(usuario.getDni()+"");
			JTextApellido.setText(usuario.getApellido());
			jTextDom.setText(usuario.getDomicilio());
			jTextTel.setText(usuario.getTelefono()+"");
			jTextNombre.setText(usuario.getNombre());
		}
	}
	
	protected void deshabilitarCampos(){
			for(Component c : getContentPane().getComponents()){
				if(c.getClass().equals(JTextField.class)){
					JTextField jt = (JTextField) c;
					jt.disable();
				}
			}
	}
	
	
	protected void _exit() {
		this.dispose();
	}
	
	protected void _volver(){
		AdministrarClientes adm = new AdministrarClientes();
		adm.setLocationRelativeTo(null);
		adm.setVisible(true);
		_exit();
	}
	
	private void jButton1ActionPerformed(ActionEvent evt) {
		System.out.println("jButton1.actionPerformed, event="+evt);
		//TODO add your code for jButton1.actionPerformed
	}
	
	private void jButton2ActionPerformed(ActionEvent evt) {
		System.out.println("jButton2.actionPerformed, event="+evt);
		//TODO add your code for jButton2.actionPerformed
	}

}
